package com.cenxi.common.dto.req;

import com.cenxi.common.dto.resp.RoleRespDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * @Author cenxi
 * @Date 2023/8/18 10:26
 * @Version 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("账户入参实体类")
public class AccountReqDTO {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 逻辑删除0-禁用 1-启用
     */
    @ApiModelProperty(value = "逻辑删除0-禁用 1-启用")
    private Integer deleted;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号")
    private String account;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称")
    private String nickName;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    private String password;

    /**
     * 0-禁用 1-启用
     */
    @ApiModelProperty(value = "0-禁用 1-启用")
    private Integer state;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 最后登录时间
     */
    @ApiModelProperty(value = "最后登录时间")
    private Date loginDate;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "头像")
    private String avatar;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

//    @ApiModelProperty(value = "角色id")
//    private Long roleId;

    @ApiModelProperty(value = "角色信息")
    private List<RoleRespDTO> roles;
}
